#ifndef __htc_h__
#define __htc_h__

/* Forward Declarations */

struct ENUMDESC;

/* header files for imported files */
#include "types.h"

/* header files for imported files */
#include "eventobj.h"

/* header files for imported files */
#include "element.h"

#ifndef __IHTMLEventObj_FWD_DEFINED__
#define __IHTMLEventObj_FWD_DEFINED__
typedef interface IHTMLEventObj IHTMLEventObj;
#endif     /* __IHTMLEventObj_FWD_DEFINED__ */

#ifndef __IHTCDefaultDispatch_FWD_DEFINED__
#define __IHTCDefaultDispatch_FWD_DEFINED__
typedef interface IHTCDefaultDispatch IHTCDefaultDispatch;
#endif     /* __IHTCDefaultDispatch_FWD_DEFINED__ */

#ifndef __IHTCPropertyBehavior_FWD_DEFINED__
#define __IHTCPropertyBehavior_FWD_DEFINED__
typedef interface IHTCPropertyBehavior IHTCPropertyBehavior;
#endif     /* __IHTCPropertyBehavior_FWD_DEFINED__ */

#ifndef __IHTCMethodBehavior_FWD_DEFINED__
#define __IHTCMethodBehavior_FWD_DEFINED__
typedef interface IHTCMethodBehavior IHTCMethodBehavior;
#endif     /* __IHTCMethodBehavior_FWD_DEFINED__ */

#ifndef __IHTCEventBehavior_FWD_DEFINED__
#define __IHTCEventBehavior_FWD_DEFINED__
typedef interface IHTCEventBehavior IHTCEventBehavior;
#endif     /* __IHTCEventBehavior_FWD_DEFINED__ */

#ifndef __IHTCAttachBehavior_FWD_DEFINED__
#define __IHTCAttachBehavior_FWD_DEFINED__
typedef interface IHTCAttachBehavior IHTCAttachBehavior;
#endif     /* __IHTCAttachBehavior_FWD_DEFINED__ */

#ifndef __IHTCAttachBehavior2_FWD_DEFINED__
#define __IHTCAttachBehavior2_FWD_DEFINED__
typedef interface IHTCAttachBehavior2 IHTCAttachBehavior2;
#endif     /* __IHTCAttachBehavior2_FWD_DEFINED__ */

#ifndef __IHTCDescBehavior_FWD_DEFINED__
#define __IHTCDescBehavior_FWD_DEFINED__
typedef interface IHTCDescBehavior IHTCDescBehavior;
#endif     /* __IHTCDescBehavior_FWD_DEFINED__ */

#ifndef __IHTCDefaultDispatch_INTERFACE_DEFINED__

#define __IHTCDefaultDispatch_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTCDefaultDispatch;


MIDL_INTERFACE("3050f4fd-98b5-11cf-bb82-00aa00bdce0b")
IHTCDefaultDispatch : public IDispatch
{
public:
    virtual HRESULT STDMETHODCALLTYPE get_element(
         /* [out] */ IHTMLElement* * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE createEventObject(
            /* [out] */ IHTMLEventObj** eventObj) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_defaults(
         /* [out] */ IDispatch* * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_document(
         /* [out] */ IDispatch* * p) = 0;

};

#endif     /* __IHTCDefaultDispatch_INTERFACE_DEFINED__ */


#ifndef __IHTCPropertyBehavior_INTERFACE_DEFINED__

#define __IHTCPropertyBehavior_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTCPropertyBehavior;


MIDL_INTERFACE("3050f5df-98b5-11cf-bb82-00aa00bdce0b")
IHTCPropertyBehavior : public IDispatch
{
public:
    virtual HRESULT STDMETHODCALLTYPE fireChange(
            ) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_value(
         /* [in] */ VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_value(
         /* [out] */ VARIANT * p) = 0;

};

#endif     /* __IHTCPropertyBehavior_INTERFACE_DEFINED__ */


#ifndef __IHTCMethodBehavior_INTERFACE_DEFINED__

#define __IHTCMethodBehavior_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTCMethodBehavior;


MIDL_INTERFACE("3050f631-98b5-11cf-bb82-00aa00bdce0b")
IHTCMethodBehavior : public IDispatch
{
public:
};

#endif     /* __IHTCMethodBehavior_INTERFACE_DEFINED__ */


#ifndef __IHTCEventBehavior_INTERFACE_DEFINED__

#define __IHTCEventBehavior_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTCEventBehavior;


MIDL_INTERFACE("3050f4ff-98b5-11cf-bb82-00aa00bdce0b")
IHTCEventBehavior : public IDispatch
{
public:
    virtual HRESULT STDMETHODCALLTYPE fire(
            /* [in] */ IHTMLEventObj* pvar) = 0;

};

#endif     /* __IHTCEventBehavior_INTERFACE_DEFINED__ */


#ifndef __IHTCAttachBehavior_INTERFACE_DEFINED__

#define __IHTCAttachBehavior_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTCAttachBehavior;


MIDL_INTERFACE("3050f5f4-98b5-11cf-bb82-00aa00bdce0b")
IHTCAttachBehavior : public IDispatch
{
public:
    virtual HRESULT STDMETHODCALLTYPE fireEvent(
            /* [in] */ IDispatch* evt) = 0;

    virtual HRESULT STDMETHODCALLTYPE detachEvent(
            ) = 0;

};

#endif     /* __IHTCAttachBehavior_INTERFACE_DEFINED__ */


#ifndef __IHTCAttachBehavior2_INTERFACE_DEFINED__

#define __IHTCAttachBehavior2_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTCAttachBehavior2;


MIDL_INTERFACE("3050f7eb-98b5-11cf-bb82-00aa00bdce0b")
IHTCAttachBehavior2 : public IDispatch
{
public:
    virtual HRESULT STDMETHODCALLTYPE fireEvent(
            /* [in] */ VARIANT evt) = 0;

};

#endif     /* __IHTCAttachBehavior2_INTERFACE_DEFINED__ */


#ifndef __IHTCDescBehavior_INTERFACE_DEFINED__

#define __IHTCDescBehavior_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTCDescBehavior;


MIDL_INTERFACE("3050f5dc-98b5-11cf-bb82-00aa00bdce0b")
IHTCDescBehavior : public IDispatch
{
public:
    virtual HRESULT STDMETHODCALLTYPE get_urn(
         /* [out] */ BSTR * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_name(
         /* [out] */ BSTR * p) = 0;

};

#endif     /* __IHTCDescBehavior_INTERFACE_DEFINED__ */


#ifndef _CHtmlComponent_PROPDESCS_

#endif


EXTERN_C const GUID GUID_HTCDefaultDispatch;



EXTERN_C const GUID DIID_DispHTCDefaultDispatch;


#ifndef _CHtmlComponentDD_PROPDESCS_
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCHtmlComponentDDelement;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCHtmlComponentDDcreateEventObject;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCHtmlComponentDDdefaults;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCHtmlComponentDDdocument;

#endif


EXTERN_C const GUID GUID_HTCPropertyBehavior;



EXTERN_C const GUID DIID_DispHTCPropertyBehavior;


#ifndef _CHtmlComponentProperty_PROPDESCS_
EXTERN_C const PROPERTYDESC_METHOD s_methdescCHtmlComponentPropertyfireChange;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCHtmlComponentPropertyvalue;

#endif


EXTERN_C const GUID GUID_HTCMethodBehavior;



EXTERN_C const GUID DIID_DispHTCMethodBehavior;


#ifndef _CHtmlComponentMethod_PROPDESCS_

#endif


EXTERN_C const GUID GUID_HTCEventBehavior;



EXTERN_C const GUID DIID_DispHTCEventBehavior;


#ifndef _CHtmlComponentEvent_PROPDESCS_
EXTERN_C const PROPERTYDESC_METHOD s_methdescCHtmlComponentEventfire;

#endif


EXTERN_C const GUID GUID_HTCAttachBehavior;



EXTERN_C const GUID DIID_DispHTCAttachBehavior;


#ifndef _CHtmlComponentAttach_PROPDESCS_
EXTERN_C const PROPERTYDESC_METHOD s_methdescCHtmlComponentAttachfireEvent;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCHtmlComponentAttachfireEventOld;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCHtmlComponentAttachdetachEvent;

#endif


EXTERN_C const GUID GUID_HTCDescBehavior;



EXTERN_C const GUID DIID_DispHTCDescBehavior;


#ifndef _CHtmlComponentDesc_PROPDESCS_
EXTERN_C const PROPERTYDESC_BASIC s_propdescCHtmlComponentDescurn;
EXTERN_C const PROPERTYDESC_BASIC s_propdescCHtmlComponentDescname;

#endif


#endif /*__htc_h__*/

